Cleanup basic buffer management.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)
commit42aa8712a3e3c9f7c02cef0daadf948a2b45f5d5
tree9a4ce334dc80e9f90987aa096cfc4c5924c5e08e
parent04bc38a2d6c98cec4412892b4ad2f36e2a756707
Cleanup basic buffer management.
* buffer.h (struct buffer): Change layout to use generic vector
marking code.  Fix some comments.  Change type of 'clip_changed'
to bitfield.  Remove unused #ifndef old.
(FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
(GET_OVERLAYS_AT): Fix indentation.
(for_each_per_buffer_object_at): New macro.
* buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
(Fbuffer_local_variables): Use it.
(init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
* alloc.c (allocate_buffer): Adjust to match new layout of
struct buffer.  Fix comment.
(mark_overlay): New function.
(mark_buffer): Use it.  Use mark_vectorlike to mark normal
Lisp area of struct buffer.
(mark_object): Use it.  Adjust marking of misc objects
and related comments.
src/ChangeLog
src/alloc.c
src/buffer.c
src/buffer.h